package constants

import (
	"ch05/instructions/base"
	"ch05/rtda"
)

type ACONST_NULL struct {
	base.NoOperandsInstruction
}

func (self *ACONST_NULL)Execute(frame rtda.Frame)  {
	frame.OperandStack().PushRef(nil)
}
type DCONST_0 struct {
	base.NoOperandsInstruction
}

func (self *DCONST_0) Execute(frame rtda.Frame)  {
	frame.OperandStack().PushDouble(0.0)

}

type DCONST_1 struct {
	base.NoOperandsInstruction
}

func(self *DCONST_1) Execute(frame rtda.Frame) {
	frame.OperandStack().PushInt(-1)
}

type FCONST_0 struct {
	base.NoOperandsInstruction
}

func (self FCONST_0) Execute(frame rtda.Frame)  {
	frame.OperandStack().PushFloat(0)

}

type FCONST_1 struct {
	base.NoOperandsInstruction
}

type FCONST_2 struct {
	base.NoOperandsInstruction
}

type ICONST_M1 struct {
	base.NoOperandsInstruction
}

type ICONST_1 struct {
	base.NoOperandsInstruction
}
type ICONST_2 struct {
	base.NoOperandsInstruction
}
type ICONST_0 struct {
	base.NoOperandsInstruction
}
type ICONST_3 struct {
	base.NoOperandsInstruction
}
type ICONST_4 struct {
	base.NoOperandsInstruction
}
type ICONST_5 struct {
	base.NoOperandsInstruction
}
type LCONST_0 struct {
	base.NoOperandsInstruction
}
type LCONST_1 struct {
	base.NoOperandsInstruction
}

